package org.example.onlinejudge.repository;

import org.example.onlinejudge.model.Permission;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

/**
 * 权限数据访问接口
 * 负责提供权限数据的CRUD操作和自定义查询
 * 实现逻辑：
 * 1. 继承JpaRepository，提供基本的CRUD操作
 * 2. 提供根据权限代码查找权限的方法
 * 3. 提供检查权限代码是否存在的方法
 * 4. 利用Spring Data JPA的命名约定自动生成查询实现
 */
@Repository
public interface PermissionRepository extends JpaRepository<Permission, Long> {

    /**
     * 根据权限代码查找权限
     */
    Optional<Permission> findByPermCode(String permCode);

    /**
     * 检查权限代码是否存在
     */
    boolean existsByPermCode(String permCode);
}


